Altri articoli sul numero 45 Articoli sullo stesso argomento L'interfaccia pubblicata su Amiga Magazine di marzo ha incuriosito molti lettori: il joystick analogico "stile IBM" da' realmente molta piu' giocabilita' ai programmi che lo supportano. In figura 2 e' illustrata un'interfaccia migliorata, adatta ai joystick a 15 piedini piu' facilmente reperibili. A differenza che nel mondo MS-DOS, su Amiga l'uso dei due bottoni del joystick analogico non e' stato completamente standardizzato. Il pin numero 6 del connettore e' sempre dedicato al pulsante di "fuoco", mentre alcuni programmi attribuiscono funzioni diverse ai due pulsanti, che in questo caso andranno collegati ai pin 4 e 3 . I due diodi nello schema fanno si' che il pin 6 venga attivato qualunque pulsante si prema, e al tempo stesso servono per non bloccare la funzione di autofire se disponibile. Per sfruttare i pulsanti separati, a seconda del gioco potrebbe anche essere necessario staccare l'uno o l'altro diodo, per esempio collegando in serie un interruttore: nelle prove effettuate non c'e n'e' stato bisogno. Lo standard MS-DOS prevede che i potenziometri del joystick debbano avere una resistenza massima di 100 Kiloohm, mentre lo standard Commodore prevede potenziometri da 470 Kiloohm. I chip custom di Amiga usano un circuito che non misura il valore della resistenza variabile contenuta nel joystick, ma invece misura il prodotto R * C del valore di tale resistenza per il valore della capacita' di un condensatore posto sulla motherboard collegato tra il pin 5 del connettore e la massa (e analogamente per l'altro asse tra il pin 9 e la massa), . Il valore del condensatore interno e' di 0.047 microfarad; quando la leva del joystick e' spinta tutta da un lato il valore della resistenza del potenziometro e' 0 ohm, quando e' tutta dall'altro lato il valore e' 470000 ohm. Quindi Paula mette nell'apposito registro il numero decimale 0 quando misura un valore di R * C pari a 0 * 0.047 = 0 , e il numero decimale 255 quando misura un valore di R * C pari a 470000 * 0.047 = 22090 . Se invece il joystick e' per IBM, il valore massimo di R che potra' fornire e' 100000 e non 470000 ohm, percio' muovendo la leva possiamo generare solo i valori di R * C compresi tra 0 e 0.047 * 100000 = 4700 , che con una semplice proporzione vediamo che corrisponde al numero decimale 55, guarda caso proprio il valore che potevamo ottenere con l'interfaccia del numero di marzo ! Per recuperare la piena sensibilita' del joystick, bastera' collegare in parallelo al condensatore interno di Amiga un altro condensatore al poliestere da 0.15 microfarad, con il quale il prodotto R * C massimo torna quello che deve essere e Paula e' in grado di misurare tutti i possibili valori da 0 a 255. Ovviamente il posto piu' comodo dove mettere il condensatore e' nel cavetto di interfaccia stesso! Visto che cosi' le cose sarebbero troppo semplici, i produttori di joystick IBM si sono messi a fabbricare joystick che hanno gia' internamente i condensatori: in questo caso, se li aggiungiamo anche noi nell'interfaccia, gia' con la leva a meta' corsa abbiamo raggiunto il valore massimo possibile e il comando non risponde ulteriormente! Come sempre la soluzione consiste nel provare la propria combinazione joystick/interfaccia con un programma, per esempio Formula 1 Grand Prix della Microprose (vuole il joystick analogico in porta 2) , che durante l'operazione di calibrazione mostri i valori massimo e minimo forniti da Paula. Il numero 22090 vale solo nei modi video PAL e NTSC, negli altri modi video Paula determina il valore R * C da associare a 255 in modo inversamente proporzionale alla frequenza del sincronismo orizzontale : in poche parole, dovete servirvi del sistema operativo per leggere il valore dei Joystick senza problemi di compatibilita'. L'ultima cosa da tener presente per l'acquisto e' che esistono essenzialmente due categorie di joystick analogici IBM: Quelli economici sono adatti ai giochi dove la posizione esatta della leva non conta, e in pratica tentano con poco successo di fare le veci dei nostri joystick "digitali" a 9 piedini: servono solo le informazioni "destra", "sinistra", "alto","basso". Usarli su Amiga per un simulatore di volo o di guida e' esperienza frustrante, perche' sembra di pilotare un aereoplano di carta in perenne lotta per restare orizzontale o una vecchia utilitaria che sbanda persino nei rettilinei. Quelli costosi, magari a forma di volante o cloche, sono dotati di buoni comandi di calibrazione e si trovano sia nella versione in cui la leva, se lasciata, resta ferma sia nella versione in cui torna al centro: sono gli unici adatti su Amiga.